#Swift 程式設計線上課程 & 電���書
Explore tagged Tumblr posts
softshareblog-blog · 6 years ago
Text
Swift 5的新功能完整指南
課程簡介
Swift 是一個強大的開放語言,讓每個人都能開發出令人驚歎的應用程式
(more…)
View On WordPress
0 notes
gozealouscloudcollection · 6 years ago
Text
臉書發幣:Libra開啟探險之旅?
Coindesk消息稱,美國眾議院金融服務委員會主席MaxineWa-ters希望Facebook停止開發Libra,直到舉行項目聽證會。
法國財政部長BrunoleMaire則警告,Facebook的加密貨幣不具備成為主權貨幣的能力。包括英國央行行長卡尼(MarkCarney)呼籲G7集團應嚴格審查監管 Libra。
歐洲數據保護主管 GiovanniButtarelli擔憂,其將使Facbook進一步整合個人數據和金融信息,對於用戶隱私構成更多額外風險。 “沒有政府背書或國家信用,它就是一種虛擬資產,稱不上是貨幣,更別說是全球貨幣了。”當日晚上,一位中國央行官員說。
而當多國監管詰問Facebook發幣時,美聯儲主席鮑威爾在6月19日的新聞發布會上卻稱,不擔心美國央行���因加密貨幣而無法執行貨幣政策。
中國銀行前副行長、海王集團首席經濟學家王永利告訴經濟觀察報,人們討論Facebook的加密貨幣時,就好像其遠景已實現或肯定能實現,而未仔細分析穩定幣為何與法定貨幣掛鉤?與之掛鉤,又怎麼可能取代法定貨幣?作為支付體系,要完全規避監管,政府怎麼可能容忍?
不過,這就像紅黑兩張“皮”,在金融或多國監管領域恐不待見的Libra在幣圈或互聯網界不啻為一聲“響雷”。
“顛覆性的大事件!”搜狗CEO王小川說,他認為,世界因此而變,對中國是新的挑戰。
中國亞洲經濟發展協會區塊鏈產業專業委員會會長蔡維德稱,Libra可以完全取代SWIFT。 “改變了國際金融流程和秩序,這是非常大的改變。”
一個激動人心的旅程開始了!扎克伯格這樣描述——或承載Facebook商業模式轉型價值訴求、有著27億潛在全球用戶基礎的Li-bra之創建。
如此,裹挾各種聲音的Libra有哪些核心要點?其將開啟怎樣的旅程?
白皮書幾乎揭開了所有的秘密。可以用“一項使命、普惠金融、一個錢包公司與一個協會、資產支持、行業創始成員”等關鍵詞去概述。
Libra使命是建立一套簡單的、無國界的貨幣和為數十億人服務的金融基礎設施。其目標是成為一種穩定的數字加密貨幣,將全部使用真實資產儲備作為擔保。 Libra預定的針對性發布日期為2020年上半年。
而旨在構建普惠金融體系的Libra由三部分組成:即:其一,建立在安全、可擴展和可靠的區塊鏈基礎上;其二,以賦予其內在價值的資產儲備為後盾;其三,由獨立的Li-bra協會治理,該協會的任務是促進此金融生態系統的發展。
總部設在瑞士日內瓦的Libra協會為非營利性組織,只有Libra協會能夠製造和銷毀Libra。由協會協調和提供網絡與資產儲備的管理框架,並牽頭進行能夠產生社會影響力的資助,為普惠金融提供支持。該協會目前已有Mastercard、PayPal、eBay等29個創始成員。
Libra協會政策與溝通負責人但丁·迪帕蒂(DanteDisparte)透露:“Libra項目中所披露的信息顯示,只要能夠接受Visa卡和萬事達卡的地方,Libra就能滿足支付需求。”
Facebook還創立了受監管的(錢包)子公司Calibra,確保社交數據與金融數據相互分離,在Libra網絡中構建和運營服務。
按照但丁·迪帕蒂的話說,Facebook加密項目就是要構建一個能夠賦予舒適宜人權力的金融生態系統。對於那些想要獲得便捷轉賬支付服務的“窮人”來說,意味著有朝一日他們可以輕鬆拿到海外親屬的匯款。
顯而易見,普惠金融亦是Libra打出的一張“王牌”。
“Libra全球金融發展的重要里程碑。”幣麥創始人茅毅鋒說,他認為,“Facebook牽頭的Libra項目是區塊鏈金融發展,甚至是全球金融發展的重要里程碑,其將創建真正的無國界數字貨幣,惠及全球十幾億的金融難民。”
果真如此麼?北京師範大學金融研究中心主任鍾偉告訴經濟觀察報,普惠金融即Inclusivefinance。這個inclusive(包容)跟exclusive(獨占)是對抗的。傳統金融體係其實對於尾部市場、碎片化市場有擠出效應,是exclusive。無法對窮人,底層碎片化市場、窮困區域等提供足夠的金融服務。所以這個詞現在變得很流行。
但問題在於,鍾偉認為,金融體系本身的確是要有甄別地服務於有信用的人,有信用的人並不一定是富人,窮人也可以有信用。但如果沒有信用的人,Libra未必就能夠起作用,因為如果libra把一些信用不佳的窮人剔除出去,實際上就跟傳統金融一致。
就Libra第一層的區塊鏈基礎而言,拜占庭共識機制(BFT)是最優選項嗎? Libra協會明示,Libra區塊鏈採用了基於 LibraBFT共識協議的 BFT機制來實現所有驗證者節點就將要執行的交易及其執行順序達成一致。與其他一些區塊鏈中使用的“工作量證明機制相比,這類共識協議還可實現高交易處理量、低延遲和更高能效的共識方法。
似乎有別於其他常見數字貨幣,有觀點認為,Libra更像是基於聯盟鏈(只針對某個特定群體的成員和有限的第三方,其內部指定多個預選節點為記賬人)的產物,且其本質是穩定幣。
事實上,“大型金融機構��專業組織積極探索利用區塊鍊等技術改進支付清算體係是值得鼓勵的,但無論如何,在國家繼續存在,很長時間都難以消亡的情況下,要通過網絡數字貨幣取代國家主權貨幣或法定貨幣,都是不現實的。”王永利說。 。
城通基金研究規劃部總監耿群告訴經濟觀察報,即使區塊鏈技術能夠部分解決信譽問題(區塊鏈在操作上也存在比較大的問題,多方記賬造成的冗餘會大大拖慢系統的速度,從而影響清算結算的效率,這是區塊鏈技術早已成熟但並未能大規模應用的根本原因),其他問題依然需要很長時間才能看清楚。
在中國區塊鏈研究聯盟秘書長王立仁看來,Libra是全球資本主義在互聯網公司競爭的體現。 Libra這個產品,規劃出了點對點共識、智能合約可編程、無國界用錨定資產,無手續費等等方案。但是Facebook的用戶基數大需求復雜,點對點共識屬於補課追趕,智能合約可編程和無手續費屬於超車,無國界錨定資產屬於挑戰。 “Move語音的提出,是Libra貨幣的可編程性得以有效實現,將記賬體係從原來的複式記賬,演變成三式記賬法,這樣的資產創造,管理,銷毀都大有創新。”王立仁說。
再看Libra第二層的內在價值儲備資產。
Libra是不與單一貨幣“掛鉤”的穩定幣;Libra用戶不會收到來自儲備資產的回報;Libra儲備資產的利息將用於支付系統的成本、確保低交易費用、分紅給生態系統啟動初期的投資者,以及為進一步增長和普及提供支持。儲備資產的利息分配將提前設定,並將接受Libra協會監督。
似乎較不計其數的“空氣幣”而言,有人認為Libra是“正規軍”。其一,每個幣背後都有相應的法幣儲備,儲備貨幣的形式也不僅是銀行存款,還包括短期政府債券;其二,參與者陣營聲勢浩大,諸如:支付業的Mastercard、PayPal、Visa,旅遊出行業的Booking、Lyft、Uber,電商界的eBay,Farfetch,,以及文娛社交領域的Spotify和Facebook等都是Libra的重要參與者。 “並非那樣,最多就是先遣小分隊。”一位資深區塊鏈研究學者告訴經濟觀察報,她並不看好Li-bra的前景。
在她看來,全球共識不會持續很久,而且拜占庭共識與去中心化相矛盾;Facebook談的只是一種戰略,但戰略背後是未知數;其背後需要金融牌照、以及美聯儲的認可才可行。 “大家不過都是在做一些技術���用罷了,即對金融基礎設施、支付清算和跨國貿易功能的嘗試。”
這裡,“要弄清楚的是,Libra需要用籃子內的法定貨幣兌換而產生,人們交出法幣,形成Libra的貨幣儲備,就像港幣一樣,這時,納入儲備的法幣就歸協會所有和管理,協會會將其擺佈在銀行或購買流動性強的證券上,所獲得的收入用於激勵核心節點。”王永利指出,“人們要換回法幣,協會的貨幣儲備就會相應減少。所以,基本上不需要動用Facebook自己的資產。”
王永利認為,Facebook面臨一個極富挑戰的問題,即在允許一籃子貨幣儲備情況下,如果人們用一種貨幣兌換成Libra,但又要把Libra兌換成美元,就會帶來幣種錯配和匯率風險,以及金融監管問題。
於是,“這就有一個Libra儲備資產的監管問題,如何保證儲備資產不被挪用或兌換過程中遏制非法的資金轉換,以及其損益核算的準確性問題。”王永利說。
讓王永利困惑不解的問題在於:人們持有Libra及其換回,是要做貨幣兌換和付出兌換費用並承擔匯率風險的,但持有它卻沒有利息收入。那麼,人們持有它做什麼用?此外,Libra真能解決現實世界投資貿易等交易的貨幣清算嗎?對人們的吸引力真有那麼大嗎?
而在耿群看來,Libra的模式,與當年美元和黃金掛鉤的布雷頓森林體系異曲同工,所以在模式上不算什麼創新,不過是用數字化貨幣代替了美元紙幣,背後的原理是一樣的。其基金會相當於美聯儲,或者各國央行的作用,保證Libra的信用,負責Libra的清算等操作。 “問題是,協會有沒有美聯儲以及各國央行的信譽以及法定地位?如果沒有,怎麼能保證協會不存在道德風險,操作風險,還有市場風險,信用風險等諸多風險?”耿群說。
Libra的旅程是“一場牽動​​全球的智慧、技術、經濟、政治、權力的全方位博弈”嗎? 6月20日,由數字資產研究院(CIDA)主辦,以此命名的研討會亦在��京朝內大街81號火線召開。
參會研討嘉賓諸如:通證經濟發起人孟岩、數字資產研究院院長朱嘉明教授等,其因Libra而有些“狂熱”。中國亞洲經濟發展協會區塊鏈產業專業委員會會長蔡維德、王永利通過文字參與了意見分享。
以Libra第三層的“Libra協會治理,該協會的任務是促進此金融生態系統的發展”為例來看,該計劃將建立由100個合作聯盟節點構成的數字經濟體。假以時日,這一經濟體將會把Facebook以及WhatsApp共計27億的全球用戶納入其中。
在孟岩看來,Facebook發行數字貨幣之後,在未來可能達成三層次戰略目標,分��是:獲得新的盈利模式、成為全球數字經濟的中央銀行、建立Facebook數字經濟帝國。 “Li-bra能夠在不侵犯用戶隱私的情況下,使 Facebook進入規模巨大的支付業務,並從最高點切入金融科技領域,賺取巨量的收入和利潤。”
此外,Libra將錨定多國法幣組成的一籃子貨幣,這似乎類似國際貨幣基金組織的特別提款權(SDR),Facebook希望通過Libra項目升級為數字經濟世界裡同時掌握鑄幣權和信貸權的超級銀行。
不過,IMI研究員、所長助理曲強稱,一個單一公司的資源和信用無法撐起貨幣所需要的成長性和流動性。而且其貨幣對於不需要使用臉書服務的人來說,沒有效用。其他行業和機構出於競爭考慮,也不太會予以承認接受。其所發行的只不過是本公司充值卡和打折券。
王永利則質疑:27億的Facebook用戶真能自動轉化為Libra用戶?民間貨幣真的就比國家貨幣有優勢嗎?
實際上,“Gemini公司宣布發行GUSD,以及摩根大通銀行宣布推出JPMcoin時,也在社會上產生過很大的轟動效應,引發諸多宏大的設想,但時至今日,這些代幣並沒有產生多大的實際效果。而目前Libra與一籃子貨幣掛鉤,將比GUSD、JPMcoin更複雜,也面臨更多風險挑戰。”王永利說。
此外,值得的一提的是,騰訊創始人馬化騰這樣評價Face-book的Libra:技術都很成熟,並不難。就看監管是否允許而已。
正如中國社科院金融所支付清算研究中心特邀研究員趙鷂告訴經濟觀察報,Facebook發幣似乎未完全考慮國際方面的一些問題。因為即使其做一個國際版支付寶——應該首先考慮如何在各個國家,或者各個法律區域去合法合規運作。否則,以其體量,包括美國,特別是歐洲等西方發達國家的輿論都不利於Facebook
事實上,“對所有的從事金融或類金融業務的,包括貨幣轉移服務的企業,有非常嚴格的反洗錢和反恐怖融資的要求。如果Facebook被用於'洗錢'(儘管這不是Facebook願意看到的);以歐洲為例,其似乎一直不歡迎美國的互聯網巨頭,若其在歐洲'出問題',那麼,就像處罰Google、微軟一樣,歐洲的懲罰會很嚴厲。 ”趙鷂說。就全球監管與合法性來看,他對於Libra能在哪些國家或區域“落地”看法並不樂觀。
不過,媒體報導稱,作為服務的一部分,全新錢包公司Calibra打算在其開展業務的司法管��區內遵循各種反洗錢規定;正致力於將非法活動從平台上移開並與全球執法部門合作。
而按照鍾偉的說法,目前整個全球貨幣支付體係是基於美元的。 Facebook如果發幣項目成功,受傷害最大的其實是美元。最大受益方其實是黑色的地下經濟活動。所以,除非美國政府授意、容忍Facebook這麼做,否則Facebook的數字貨幣之前景非常有限,因其直接挑戰美元和現代貨幣體系。總體上,目前與陽光經濟平行的“地下經濟”似乎更需要數字貨幣。
“Facebook及其商業盟友主導的數字貨幣是典型的非國家化貨幣。這一局面的出現,完全印證了哈耶克在1970年代對於貨幣發展的構想和判斷。”孟岩認為。在其看來,Facebook數字貨幣開啟了一個新的思路。既然國家幹不了,跨國公司們可以乾。
而有意思的是,多國監管“圍攻”Face發幣時,唯獨美聯儲支持。
“我相信 Facebook已和全球監管相關人士進行了相當廣泛的討論,其中當然也包括我們。”鮑威爾在19號的新聞發布會上表示。至於Libra項目的推進,“美聯儲從安全、穩健等監管角度將抱有很高的期望”。
國際知名學者、原美國哈佛大學燕京學社研究員黃萬盛教授告訴經濟觀察報,貨幣體系終究要面對互聯網的考驗!現在的貨幣信用可能被權力束縛了。所以,勞動和價值的差異完全是地緣政治的結果,不反映經濟學的基本原則,這種狀況並不道德。
他認為,傳統貨幣是權力中心主義,比特幣等是無政府主義。至於哈耶克《貨幣的非國家化》一書中強調的“私人貨幣”,“有的比較極端化,我並不完全同意。”黃萬盛說。
但前提是,先要清楚“貨幣到底是個啥?”終極思考的命題可能是:當下文明階段對應怎樣的金融基礎設施?貨幣從有形至無形,經歷了數千年。數字文明的到來,這個用來交換和記賬的稀有物(貨幣)是什麼?大數據時代,未來貨幣也應數字化——尤其全球數字貨幣或許也要經歷類似真實世界的博弈,需要“權力與信用”的加持;如此,它會以怎樣一種形式實現?
黃萬盛建議,要在介於傳統貨幣與數字或區塊鏈貨幣之間找到一個出口,去思考“未來貨幣”的走向。
或許,我們需要找到貨幣數字化與數字貨幣化的平衡臨界點?找到互聯網世界與真實經濟社會的妥協地帶;然後,再找到二者穩定的對應關係?但前提是,釐清貨幣與數字的真實關係。
王永利認為,在現有的法定貨幣之下,並不代表沒有能在一定範圍內使用的,被賦予特殊權利義務的代幣。那種在一定範圍內使用的商圈幣或社區幣,是有其存在價值的,國家一般不會嚴格禁止。但作為商圈幣或社區幣,必須控制在設定的範圍內使用,而不能流出控制範圍自由使用,否則會對法定貨幣的管理產生衝擊。 “網絡加密貨幣依然只能是網絡商圈幣或社區幣,難以取代或顛覆國家法定貨幣。”
綜上,聚光燈下,Libra注定要開啟一段特殊的數字貨幣“探險之旅”。
.
from 臉書發幣:Libra開啟探險之旅? via KKNEWS
0 notes
katslefty · 6 years ago
Link
https://images.unsplash.com/photo-1504639725590-34d0984388bd
プログラミングが流行っていますね。特に子供の間では。教育熱心な親御さんは、お子さんをプログラミング教室に通わせたいのではないでしょうか。
Kevin Ku
では大人はどうでしょうか。プログラミングは役に立つのでしょうか。 子供と違って、大人は様々なケースがあるので、一つにまとめることが難しいのです。
学校に久しく通っていない大人は多いです。
学校に戻ってプログラミングを勉強するお金も時間もない人が多いです。
オンラインでの講義もたくさんあるけれど、果たしてそれで十分か悩むのではないでしょうか。
一言で言えば、そりゃできるに決まっています。
プログラミングがどのように役に立つとか、どう活用できるか、考えてみました。
目次
0 – 私のプログラミング履歴)
1 – オンライン情報を活用しましょう
2 – どの言語を選びべきか悩む事はないです
3 – 毎日プログラミングすること
4 – 日常を自動化する
5 – うまく行く時は嬉しいですが、うまくいかない時はフラストレーションがたまります
6 – 色々作りましょう
7 – 『View Source』を使って真似る、そして学ぶ
8 – 自分のためのツールを作り、プログラミングする
9 – 学び続ける
10 – 他の人から学ぶ
0 – 私のプログラミング履歴
世の中でプログラミングできる人がコンピューターサイエンス学科卒かというと、必ずしもそうではありません。おそらくですが、芸術関連、会計士、音楽家、主婦(主夫)の方の中にもプログラミングできる人がいるでしょう。
私自身、世代的にプログラミングに触れた小学生の初期に入るかと思います。小学校の授業で単色のモニター���パソコンを覚えていますし、マイコンの時代の人間でもあります。仕事柄、父もパソコンを家で使っていましたが、父の作ったゲームで遊んだりしてました(自分では作らなかったですねぇ)。
メールも電話線につなげている時代からやっていて、パソコンがない生活は中学生くらいからありませんが、本気でプログラミングをしたことがありませんでした。物理学を専攻していたので、実験で機器を動かすためのプログラミングや、実験で得られた数値の処理のプログラミングをやるようになりました。その後、引き続き物理の実験でプログラミングを使い、HTMLなどが普及してからはそちらもいじることが多かったです。今のように美しいWebテンプレートが容易に手に入る時代でWordPressなどのソフトも充実していますが、昔のHTMLはコードが羅列されているようなものでした。
仕事に就いてからはパソコンで計算する事が大半になり、パソコン上で行う光学設計という仕事柄からプログラミングを習得しました。そういう意味では私は正式に『プログラミング』を習ったわけではなく、自学自習で得たものです。プログラミングを生業としているわけでもありませんし、知識は偏っています。
ただし、『自分に便利なソフトを作れるか』と言われたら、作れるわけです。その程度でもいいと思いましたし、その目的でプログラミングを習得することは誰でもできるかと思います。
蓄積した経験から、仕事とプライベートの手助けとなるコードを書いています。
仕事の工数をが必要な事が多いのですが、普段の仕事のタイムテーブルを入力したものをプログラムでまとめたり部分的に出力して、半期や四半期の工数を分析しています。
仕事で使っているソフトウェアがありますが、そのソフトを更に外部のソフトウェアで操作することもしています。また、数種類のソフトを連携して使うことも多いです。
仕事のプロジェクトの管理シートを入力のみでわかりやすく表示してくれるコードを使っています。
好んで使える家計簿ソフトがないので家計簿はExcelで管理していますが、Excelのスプレッドシートとプログラミング組み合わせて快適に使っています。また、市販のソフトがアップデートが廃止されたりした時に困りません。
年賀状もLaTeXのテンプレートとPerlのスクリプトでPDFを出力して印刷していました。年賀状ソフトを必要とせず、普遍的なフォーマットです(今では手書きで年賀状を書いていますが)
このように仕事が楽になったりすることもあれば、生活の一部で使ったりしています。プログラミングはただ役に立つだけではなく、場合によっては達成が得られ、場合によっては創造性を掻き立てられて、やりがいすら生まれます。
その過程で、色々と経験してきたことや、先人に助言いただいた事もあるので、考えてみました。
1 – オンライン情報を活用しましょう
今ほどオンラインに情報が溢れている時代は過去にありません。特にWebと関係性の高いプログラミングに関しては、多くの情報があります。無料の情報はもちろん、無料または安価な講座やコースがあります。一昔前と比べて本当に多くの情報が手に入れられます。
私が最も使っている言語はExcelを多用している関係でVBAですが、何かやりたい時には、インターネットで転がっている似たような用途のコードを参照し、自分好みに変更して勉強しました。座学で色々と読むより、ひとまず何か作ってやろうといった感じです。
これからはPythonを勉強したいと思い、情報収集中です。Pythonは比較的簡単に習得でき、データ解析に使われてことから今後も使えるかと感じました。ちょっと試してみたところ、他の使い慣れた言語と共通しているところが多いので私には使いやすいと感じています。Pythonの講義を試し中ですが、今のところCodeacademyが最有力候補です。他の言語もありますが、ゼロから学ぶ事を想定してシラバスを構成しています。各レッスンも一部のプログラミングについて紹介しており、そのレッスンで学んだことを演習で実践します。コードが全く書けない人適しているだけでなく、私みたいに数種の偏った言語の知識しかない人間にも新しい言語がとっつきやすいです。学ぶ時も一つのリソースだけでやるよりは、二つのコースをやればより内容が定着するような気がします。
Python for Everybody – coursea
Learn Python The Hard Way
また、本を使って必要な部分のみを参照して使えるので便利でシンプルです。そのページを開けば思い出せることも多いと思います。今の時代、Pythonに限らずわからないことがあれば検索すれば一発で答えが出てきますが、紙媒体で検索するのはまだまだ有用です。特に、良い書籍であれば章の並びとかがまとまっているので、検索もしやすいです。
オンライン講義で気を付ているのは、タイトルや説明で惑わされない事です。特に『ビギナー用』と紹介されているのは気を付けています。作成者の心理として、初心者向けのみに作っている方は全体構成を考えていない可能性が高いので、初心者向けよりも順序立って説明してくれそうな講義を��入したいです。ただし、実際に体験してみないとわからないところはあるので、レビューを参考にしたりできれば実際に受けた人の意見を聞くのがいいと思います。返金保証が付いている講義を買うという手もあるでしょう。
2 – どの言語を選びべきか悩む事はないです
どうせ学ぶなら、『最適な言語』を選びたくなりますよね。ただし、初心者ならばプログラミング自体に慣れるために学ぶといいと思います。ほとんどの言語は共通している部分はあり、途中でプログラミング言語を変えても大きな支障はないと思います。
要は一つの言語が習得できるのなら、複数のプログラミング言語を習得できるので、問題ないと思います。スタート地点は思っているよりかは関係ないと思います。プログラミング言語も合う合わないがあるので、最初は直感で選んで途中でより自分に合った言語に乗り換えるのはアリですね。例えば、私はVBAが好きですが、これからPythonを勉強しようと思っています。Pythonを選んだのも、『データサイエンス関連でよく耳にするから』『見た目が奇麗だから』程度の理由です。ただし、途中で気に入らなければ容赦なく変えますね。
ちなみに、『初心者なんだけどどの言語から勉強したらいいか』と検索しようものなら、それぞれの『派閥』の人達からそれこそたくさんの偏った意見を目の当たりにするに違いないです。結局選べなくなるので、初心者であれば余計に上級者が差として感じている機能は大して影響はないものです。
もちろん、プロのプログラマーになるのが目的ならば選ぶ言語は重要なので、慎重に選ぶべきですね。その分野の仕事で求められているプログラミング言語を習得する必要があるでしょう。最終的にやりたい仕事をゴールとして、そこから逆にスケジュールを引いてどの言語を身に着けるかリバースエンジニアリングすればいいのです。
3 – 毎日プログラミングすること
大袈裟かもしれませんが、毎日プログラミングすることをおすすめします。せめて、30分くらいとか。少しづつでいいので、継続的に使用するのが上達の近道です。特に、やり始めの時は。時間のある週末にまとめてたくさんやろとすると長続きしないような気がします。プログラミング言語とは言え、『言語』なので、週末だけにやってしまうと逆に言うと五日間の空白ができてしまい、習得に時間がかかります。みなさん忙しいのは承知の上で、時間を作っていいのではないでしょうか。ソーシャルゲームに使っている30分をプログラミング言語を習得するための30分に変えたらいいと思うのですが・・・。個人的な見解では、プログラミング言語に限らず、何かを習得する時は一日に一時間費やす方が、土曜日に十時間費やすよりいいと思います。
個人的な経験になりますが、少しづつやる方が忘れにくいと思います。数日経ってしまうと色々と忘れてしまうのですね。もちろん、仕事とは直接関係のない勉学としてプログラミング言語取得しようとしている訳ですから、仕事が忙しかったり家族関係のイベントがあったりすると時間が開いてしまう事もあります。結局、間をおいてしまうとキャッチアップするために時間を割くので、総合的に時間がかかってしまう訳です。
役に立つものをプログラミングできるまでは少しづつ積み重ねているので、自ずと時間はかかります。少し役に立つものを書けるようになるまでは数か月はかかるでしょうか。達人になるにはもっと時間がかかりますね。
とは言え、30分以上の時間取れるのならば、時間をかける程上達は早いと思います。多くの場合、プログラミングは集中力を要する事が多いので、一行もコードを書かずににらめっことかもよくあります。特に、新しいコンセプトを理解しようとする時は、無作為に書くことはあまりなく、コードを視覚的に理解してつなげる事もあります。
かなりの荒行になりますが、私はブートキャンプも興味があるんですが、そんな時間はなかなかね・・・。
4 – 日常を自動化する
一般の方は、『プログラミングする』と聞くと、販売に値するソフトウェアやネット上のアプリとか思い浮かべるでしょう。
それらが最も親しみやすく有名な例なのは間違いないですが、もっとシンプルな理由でプログラミングも可能です。様々な作業の自動化が可能です。最新のアプリより華やかではありませんが、自分に取って役に立つプログラミングが組める訳です。
人間と違って、コンピューターは精度の高い反復作業が得意なのです。
例えば、YouTubeの字幕をTranscirpt#TKとして保存したい場合、実際の言葉とタイムレコードが保存されます。数十分に及ぶインタビュー形式の動画のTranscriptだと、文字と数字が入り乱れて読みにくいです。読みやすくするためには数百数千行の文字間のタイムレコードを削除する必要がありますが、これをプログラムを書いてボタンひとつでタイムレコードを削除するスクリプトが作成可能です。華やかではありません。販売もできません。でも自分の作業効率は圧倒的に上がりますね。
これがプログラミングの密かなメリットです、少なくとも私には。明日から転職してプログラミングを生業にする訳ではないのです。プログラミングする事で仕事とプライベートで作業効率が上がるのです。これが楽しくてたまりません。
要はプログラミングやコーディングを目的とする訳ではなく、オートメーションを目的とすれば、プログラミングを学ぶ理由になるかもしれません。ほとんどのデスクワークでオートメーション化が役に立つはずであり、プログラミングもほんの少しできればいいのです。レポート用のデータ収集をオートメーションできます。ルーティーンメールの返事を定型文化してオートメーションできます(GmailはJavaScriptでプログラミングできます)。
でもこれらの例はオートメーションとは言え、プログラミングでもあるのです。前面に出るプログラミングではないかもしれません。でも紛れもなくプログラミングです。今からプログラミングを学んだとして、それを生業にできる保証はありません。しかし、プログラミングを今の仕事に取り入れる事で、現在の仕事での立ち位置が変わり、ひょっとしたら評価も上がるかもしれません。
プログラミングの言えるレベルではないですが、私はHTML記事の編集とパブリッシングをMarkdown形式で行なっています。Markdownはプログラミング言語と呼べない程のものですが、コードらしきお約束ごとがあり、それにコンバータをかける事でMarkdown形式の文書がHTMLにもLaTeXにもなる優れものです。最近のダイナミックパブリッシングは直感的ですが、マウスでクリクリするのがモノ書きの妨げとなります。これを仕事に取り入れているのですが、他の人がダイナミックパブリッシングで四苦八苦しているところをサクサクとテキストベースで記事やレポートを書いています。
『プログラミング』を『オートメーション』とマーケティングした方が良かったりして。
5 – うまく行く時は嬉しいですが、うまくいかない時はフラストレーションがたまります
プログラミングは時に挫折感を抱かせます。
良く言えばコンピュータは指示通りに動いてくれるのですが、残念なからコンピュータは間違った指示通りに動いてしまう事もあります。ひとつのミス、例えばカッコひとつが異なる場所にあるだけで正常に作動しないものです。
プログラミングとはミスの連鎖で、その出どころは正直過ぎるコンピュータから放たれたものです。
おそらく全てのプログラマーが経験している事で、全てのプログラマーの思考プロセスです。プログラミングをするには論理思考が必要です。論理思考が必要ですが、それよりも大事なものがあると私は思っています。
数々の失敗を超えて行く気概、だと思います。
映画とかでプログラマーが休む間も無くコードを打ち続ける描写があるので、一般の方々はプログラミングが非常に流動的な作業と思いがちですが、とんでもない。普通のプログラミングは簡単な操作を行う数行のコードを書き、検証して・・・うまくいかない、の繰り返しです。その数行の為に取り巻くコードを一部一部検証したり、エラーメッセージを解読したり、オンラインで同様のエラーを探したり。得てしてエラーは自分のせいで、一文字のタイプミスだったりするものです。
多くのプログラマーは大なり小なりうまくいっていない部分を直す作業がほとんどだと思います。
ではなぜわざわざそんな苦行に耐えなければいけないのか、ですが・・・ミスやエラーが大変な分、それが解決された時の喜びが大きい訳です。うまくいった時の感動が大きいのです。
おそらくですが、プログラマーとして上達すればする程、それだけ難しい問題が���じて、解決も難しくなる訳です。でもプログラミングは才能はあまり必要ないのです(トッププログラマーは別にして)。難しいけれど頑張った分報われるのです。
なので、どんなプログラマーも初めて直面する問題は難しいのです。『そんな事もできないのか』と罵る人がいたら無視していいです。初心者にミスが多いからといって、今後良いプログラマーになるかならないかの指標にはならないのです。
6 – 色々作りましょう
音楽でもそうだと思うのですが、ツールを学ぶ(音階、コードの種類)よりも、とにかく実践した方が覚えるのが早いと思います(実際の曲を練習する、実際の使えるプログラムを作る)。プログラミングにおいては、まずは自分のために何かを作るといいと思います。
もちろん、本や講習で学べる事は多いのですが、実際の使えるものを作るのが早いといいです。実際に使えるものを作ろうとすると、自分が何ができなくて何ができるかわかるからです。更に例を重ねると、イタリア語を教室で学ぶのとイタリアのレストランで注文をする方が上達が早いです。
『作る』過程はシンプルでいいです。高機能のiPhoneアプリは作ってはいけません。小さな事でいいのですが、自分にとって便利で、できれば人に見せられ���ものがいいです。私はかつてTwitterに投稿したらFacebookとTumblrに自動投稿するWebアプリを作りました。また、初期のExcelで画像を自動で取り込んで並べる事もしました。
7 – 『View Source』を使って真似る、そして学ぶ
あるプロジェクトの為に、コードを書き始めたとして、ゼロから始める必要はないのです。既にあるものをいじり、分析し、どのように動いているかを見てもいいのです。私はウェブの黎明期にウェブサイトを作っていましたが(まだ『ブログ』という単語がなかった時代)、最初はどうしたらいいかわからなかったので、ひたすら『View Source』をして他人のコードを分析していました。今ではCodepen.ioなどのサイトで、コードの例文がたくさんあるのでとても便利です。それらの一部を拝借して自分のコードに組み込むのはいいと思います。
オープンコードはそういう意味では素晴らしいです。法的にも道徳的にもセーフです。実際のところ、高級なソフトウェアも部分部分はそういったオープンで探せるコードの集合体だと思うのです。
8 – 自分のためのツールを作り、プログラミングする
そのうち、本格的なソフトウェアは作れなくとも、小さい作業をしてくれるプログラムならば作れる事がわかりました。
自分の作業が楽になるコードを書いている時は、モチベーションが違います。授業や例でプログラミングを習っているだけでは、難しくなった時のモチベーションが続きにくいです。しかし、自分の為にプログラムを書いていて、その成果によって自分の仕事が楽になれば、モチベーションは明らかに違います。多少の障壁があっても頑張ろうという気持ちになる訳です。
ひとつ、モチベーションを持続させる手段としては、既に興味や意欲を持っている分野の中で役立つプログラミングをする事です。音楽、ゲーム、絵画、など、好きなものの中で便利なプログラムがあったら欲しくなりませんか。プログラミングを趣味と絡める事で、楽しく実用的に学べると思います。『以下の数値を昇順に並べる』ような無機質な目的だとモチベーションの上がる訳ないです。
9 – 学び続ける
意外にも、プログラミングに長けている人はコードを覚えている事は稀で、Googleなどで検索しながらコードを書いている方々が多いです。とある作業の復習や、コードの詳細の確認をしているそうです。私も、知っていても、確認の為に検索して時にはWebで見つかったコードの方をプログラムに利用したりします。
正直にいうと、細かい内容が多いので、いちいち憶えてられないのが本音です。過去に何回もやった事がある作業でも、細かなところが異なる場合が多いので、記憶を頼りに思い出しながらプログラミングするのは結構効率が悪いものです。
プログラミングといっても一種の検索作業でもあります。同じ問題に対して新しいアプローチがあるかも知れません。年数を重ねる毎に、新しい言語や新しいフレームワークが発見されていき、古いものは進化したりします。そういう意味ではプログラミングの学びに終わりはないかもしれません。
10 – 他人から学ぶ
黙々とプログラミングしていて、ふと孤独を感じる事があります。コンピュータとの対話がエラーメッセージばかりですし。もちろん自分で問題の解決方法を探すのもいいのですが、他の人に聞いてみるのも同じくらい良いと思います。私は仕事場が理系の関係から、周りにはプログラミングができる人が多く、色々と聞いています。
オンラインで問い合わせる場はたくさんありますし、少し敷居は高いですがプログラミングの学会や講習会もあるので、他のプログラミング人種と交流する事も可能です。
私の場合、息子もプログラミングを始めており、一緒に色々と課題を見つけています。
Swift PLaygroundsの演算子の章まで進みました。なかなか面白いプログラムができています。
プログラミングを楽しんで学べ、かつ便利なものを作れるとなるなら、デメリットは少ないのではないでしょうか。少なくとも私はこれからも学び続けるつもりです。
0 notes
softshareblog-blog · 6 years ago
Text
中文課程 - iOS 12 App 開發快速入門與實戰(繁體中文)
中文課程 – iOS 12 App 開發快速入門與實戰(繁體中文)
課程簡介
最完整的 iPhone 開發課程:做出 10 款應用程式
(more…)
View On WordPress
0 notes
gozealouscloudcollection · 6 years ago
Text
15歲中國學生獲蘋果WWDC獎學金:寫代碼只用2個週末
15歲的時候你在做什麼?
有的人在埋頭讀書;有的人���朋友玩網絡遊戲;有的人沉迷於交友軟件;而有的人已經成為iOS App的開發者,成功獲取蘋果WWDC獎學金並受邀進入WWDC現場。
從2004年開始,蘋果設立WWDC獎學金計劃,以此來激勵學生髮揮想像力、盡情展示iOS編程才能和熱情。
每一年,蘋果公司的評審團會對作品的內容、創造力和技術含量進行判斷,挑選至多350名學生,授予他們獎學金並邀請參與WWDC大會。獲獎學生將有可能獲得價值1599美元的大會門票,以及免費的差旅和住宿。
獲得WWDC獎學金申請資格,必須具備以下條件:
在今年的350位獲獎學生中,來自中國的學生共有31位。其中27位來自大陸;3位來自香港;1位來自台灣。而這31個人中最年輕的,是15歲的於偉奇。提起其他獲獎選手,於偉奇不禁感嘆:“都是大佬!”
於偉奇來自江蘇省,目前就讀於無錫外國語學校,念初三,愛好ACGN文化。在GitHub和Stack Overflow上的用戶名叫做Captain Yukinoshita Hachiman,取自於日漫《Oregairu》,中文譯作《我的青春戀愛喜劇果然有問題。 》,也譯作《果然我的青春戀愛喜劇搞錯了。 》,是日本作家渡航所創作的輕小說,插畫由ponkan負責。
他能夠成為一名蘋果軟件開發者並獲得WWDC獎學金,要歸功於小學時候讀的《喬布斯傳》,以及家長買來的一台iPad 2。後來,他了解到蘋果每年都會舉辦WWDC,並且有一個獎學金激勵計劃,這引起了他極大的興趣。
緊接著Swift的發布,勾��了他想要親自動手寫代碼的慾望。於是開始通過書籍、網上的視頻以及一些蘋果大牛的博客,自學Swift。
初一下學期他軟磨硬泡,終於說服家長買了一台蘋果電腦,從一名愛好者變成了一名開發者。
於偉奇開發的第一個作品叫做BirthReminder,主要的功能是讓用戶管理自己喜愛的ACGN角色的生日,該App已上架App Store,地址:點此
這款app操作也非常簡單。其中內置了很多ACGN角色信息,用戶可以手動輸入二次元角色信息,也可以通過自帶的“在線信息”來一鍵導入所喜歡的角色的信息,然後添加即可。該App還允許用戶貢獻本地的角色信息到“在線信息”中,幫助完善這個數據庫。
BirthReminder同時支持iOS與watchOS,並提供多種擴展組件,如今日擴展(iOS)與復雜組件(watchOS)。
BirthReminder會在角色生日當天通過系統通知的方式來提醒用戶,用於偉奇的話說:“媽媽再也不用擔心我忘記老婆們的生日了*:.?. o(≧≦)o .?.: *”。該App在App Store上獲得了4.9的高分。
去年,他曾以一個物理學透鏡相關的作品申請WWDC獎學金,但是該作品遺憾落選。今年,他憑藉一款叫做Cryptography & Privacy的作品,成功入選WWDC獎學金。
於偉奇希望藉此能夠讓人們對數據傳輸過程中,在線隱私的重要性引起更多關注。該項目已開源,代碼託管在GitHub上。
獲獎並不難,作品只花了2個週末時間
Cryptography & Privacy向用戶介紹了最基本的密碼學知識,首先在過場動畫中討論了隱私的重要性,然後講述了對稱和非對稱加密的概念,最後提供了一個真實的實踐,要求用戶在虛構的應用程序中實現“安全聊天”功能。
為了實現上述功能,使用了以下框架/技術:
HTML5 + CSS3 + JavaScript
UIKit
Security
CommonCrypto
PlaygroundSupport
Markup
Web技術實際上是使用Hype自動生成的,由此創建了過場動畫。
UIKit用於創建實時視圖。通過UIView的子類化做了自定義視圖並做了一些自定義繪圖。創建了一個實時視圖,向用戶顯示消息的傳輸方式,以便獲得更直觀地體驗。
Security和CommonCrypto用於實現加密內容。
顯然,PlaygroundSupport用於控制playground book。但是這個playground遠不止於此。通過使用PlaygroundSupport,這本playground book充分利用了永遠在線的實時視圖,這意味著它可以更加互動,因此可以提供更好的用戶體驗。
快捷工具欄中的完成也是自定義的,這為用戶提供了一種干淨的寫代碼方式。最後一頁支持所有執行模式,這可以幫助用戶跳過實時視圖動畫或減慢它,以便可以更好地理解。
最後,所有關於加密概念的內容都是用Markup編寫的。
至於在作品上花費的精力,於偉奇稱主要是一邊要學習、一邊又要搞開發,兩邊都不能落下。
由於他是住校生,工作日要在學校完成繁重的學業,所以只能在周末回家趕工。時間緊任務重,於偉奇花了兩個週末時間,在deadline當天,通宵完成了所有代碼和文檔。
去學校後第一堂課就是英語考試,結果因為太累了考試中途睡著,只拿了第二名。
雖然第一次申請WWDC獎學金失敗了,不過於偉奇並不認為獲獎是一件困難的事情。
他認為一個playground作品,最重要的是“內容”,換句話說就是要有實際價值,單純的炫技意義不大。
從他這次獲獎的經歷來看,橫在他獲獎道路上的最大障礙不是“題目太難”而是時間不夠。
獲得WWDC獎學金的經歷,並沒有降低父母對他“沉迷電腦”的不滿,仍然成天抱怨他時間都花在了電腦上。他自己對此也有一個非常清醒的認識,並沒有驕傲自滿,而是認為今後需要學習更多的硬核知識。
對於未來,於偉奇也有很清晰的規劃。他希望能夠去美國學習計算機科學專業,並能夠繼續從事蘋果軟件開發,目前也正打算開發一個表情包管理app。
這位少年已經站在了更高的起跑線上。
.(tagsToTranslate)人物(t)15歲中國學生獲蘋果WWDC獎學金:寫代碼只用2個週末(t)kknews.xyz from 15歲中國學生獲蘋果WWDC獎學金:寫代碼只用2個週末 via KKNEWS
0 notes